This invention relates generally to the field of computer-based control systems and control algorithms therefor, and more particularly relates to a Model Predictive Control class of computer control algorithms.
Model Predictive Control (xe2x80x9cMPCxe2x80x9d) refers to a class of computer control algorithms that compute sequences of manipulated variable adjustments (control moves) in order to optimize the future behavior of a system. Computerized control systems making use of MPC technology are particularly well-suited for controlling such complex industrial systems as manufacturing plants, chemical processing plants, petroleum refineries, and the like. Such systems have many parameters (flow rates, temperatures, pressures, and so on) which require continuous real-time or nearly real-time adjustment or tuning.
As the name suggests, MPC uses an explicit model to predict how a process will evolve in time. The prediction is used to determine xe2x80x9coptimalxe2x80x9d control moves that will bring the process to a desired state. The optimal control moves are the result of an online optimization which is, in general, a full-blown nonlinear program (xe2x80x9cNLPxe2x80x9d). In practice, though, because linear models are used, the resulting optimizations are linear and quadratic programs. While originally developed to address the needs of power plants and petroleum refineries, MPC technology is now used in a wide variety of commercial and industrial applications ranging from food processing to pulp and paper production.
In many modem industrial processing plants, MPC is implemented as part of a multi-level hierarchy. of control functions. FIG. 1 depicts, in block diagram form, a control system 10 suitable for controlling, for example, an industrial plant or the like having a plurality of operational components which require parametric control of one or more (usually a plurality) of controlled variables to maintain a desired operational status for the plant overall. In one embodiment, for example, controller system 10 may be a chemical processing plant. Those of ordinary skill in the art would appreciate that such a plant would have various operational components, such as electronically-controlled flow valves, pressure valves, heating and cooling systems, and the like, which require continuous monitoring and parametric adjustment or control in order to ensure proper functioning of the plant as a whole.
The block diagram of FIG. 1 illustrates the differences between a standard conventional control hierarchy and one using MPC. In FIG. 1, a xe2x80x9cconventionalxe2x80x9d control hierarchy is represented within dashed line 12, and an MPC control hierarchy is represented within dashed line 14. As would be apparent to those of ordinary skill in the art, each of the control hierarchies 12 and 14 functions to generate control signals, represented by lines 16 in FIG. 1, to be applied to controlled systems or components in, for example, an industrial plant of some sort. In the exemplary embodiment of FIG. 1, the xe2x80x9ccontrolled componentsxe2x80x9d include flow controllers 18, pressure controllers 20, temperature controllers 22, and level controllers 24 as examples, although it is to be understood that the class of controlled components and systems includes many other types of functional units adapted to be adjusted or controlled by means of one or more electrical control signals.
In FIG. 1, conventional control hierarchy 12 is shown being comprised of several discrete components. Central to control hierarchy 12 is one or more single-parameter controllers 26, one type of which being commonly referred to as a proportional, integrating, derivative (xe2x80x9cPIDxe2x80x9d) controller. Those of ordinary skill in the art will appreciate that various types of PID controllers are available as commercial, off-the-shelf components from, by way of example but not limitation, Honeywell, Inc., Minneapolis, Minn. Such controllers implement simple control algorithms to generate a single parameter control output signal in response to one or more inputs. Controller 12 in FIG. 1 is shown to further comprise other logic blocks, such as lead/lag (xe2x80x9cL/Lxe2x80x9d) block 28, summation (xe2x80x9cSUMxe2x80x9d) blocks 30, and high/low select logic block 32. Those of ordinary skill in the art will appreciate that this additional logic associated with PIDs 26 enables controller 12 to accomplish the multi-parameter control functionality that can be done with a single MPC controller such as that designated with reference numeral 50 in FIG. 1.
The design and operation of a conventional controller 12 such as that in FIG. 1 is well understood by those of ordinary skill in the art, and the details of its operation will not be discussed in further detail herein. It is sufficient to state that controller 12 operates in response to various inputs reflecting the state of the system to generate one or more output control signals for adjustment of one or more operational parameters of the system.
With continued reference to FIG. 1, at the top of the control hierarchy, a plant-wide optimizer designated with reference numeral 34 determines optimal steady-state settings for each controlled unit in the plant. These settings may be sent to local optimizers 36 associated with each controlled unit. Such local optimizers may run more frequently or consider a more detailed unit model than is possible at the plant-wide level. Each local optimizer 36 computes control settings corresponding to optimal, economic steady-states and passes this information to a dynamic constraint control system for implementation. As indicated by dashed line 35 in FIG. 1, the dynamic constraint control system comprises high-low select logic block 32, PIDs 26, lead/lag block 28, and summation blocks 30. The dynamic constraint control 35 must move the plant from one constrained steady-state to another while minimizing constraint violations along the way.
Those of ordinary skill in the art will appreciate that in conventional control structures such as that designated with reference numeral 12 in FIG. 1, tuning and design can take considerable engineering effort. This is in part because each PID 26 is general-purpose and is typically only capable of controlling one controlled variable, and as an off-the-shelf component must be tuned for a particular application.
MPC is an optimal-control based method in the sense that it determines the optimal control moves by minimizing an objective function. The objective function depends on both the current and predicted future states of the system and the future inputs to the system. The states andthe inputs are related through an explicit process model. The theoretical framework which has developed around MPC does not depend on the particular model form and allows for many variations. The models can be linear or nonlinear, continuous-time or discrete time, state-space or input-output, deterministic or stochastic, and more. The flexibility in choosing the type of model provides a powerful advantage to MPC in accordance with the embodiments of the invention disclosed herein.
With continued reference to FIG. 1, within the MPC control structure, the plant-wide optimization represented by block 34 is a system-wide process that is typically conducted less frequently relative to other levels of optimization and control in the overall hierarchy. On the other hand, local optimization represented by blocks 36 in FIG. 1, also known as xe2x80x9creal-time optimizationxe2x80x9d or xe2x80x9cRTO,xe2x80x9d may be conducted somewhat more frequently, for example every 6 hours, or perhaps every 30 minutes or so, depending on the particularities of the system being controlled.
The MPC function, represented by block 50 in FIG. 1, is customarily divided into a steady-state calculation and a dynamic calculation, where each of these phases of MPC may be performed every one to two minutes, for example. The dynamic MPC calculation has been studied extensively (see, e.g., S. J. Qin and T. A. Badgwell, xe2x80x9cAn Overview of Industrial Model Predictive Control Technology,xe2x80x9d in Fifth Intemational Conference on Chemical Process Control, J. C. Kantor, C. E. Garcia, and B. Carnahan, Eds., No. 93 in AlChE Symposium Series 316, 1997, pp. 232-256.). The goal of the steady-state MPC calculation is to recalculate the targets from the local optimizer 36 every time the MPC controller 50 executes, because disturbances entering the system or new input information from the operator may change the location of the optimal steady-state. This separation of the MPC algorithm into a steady-state and dynamic calculation was alluded to, for example, by C. Cutler, A. Morshedi, and J. Haydel, xe2x80x9cAn Industrial Perspective on Advanced Control,xe2x80x9d in AlChE National Meeting, Washington, D.C., 1983, and is now common in industrial MPC technology. Since the steady-state algorithm must run more frequently than the local optimizers 36, it may use a less detailed model. For example, the steady-state calculation may use a steady-state version of the dynamic model used for the dynamic optimization. The recalculated optimal steady-state is then passed to the dynamic MPC algorithm, which determines how to best go from one constrained steady-state to the next. This steady-state target optimization is an alternative way to incorporate feedback into the MPC algorithm without explicitly including it in the dynamic MPC calculation. In the present disclosure, it will be assumed that the steady-state calculation is driven with a linear economic objective, although it is specifically contemplated that the present invention may be advantageously practiced in applications involving non-linear (e.g., quadratic or higher-order) objective functions.
MPC can be further subdivided into two categoriesxe2x80x94xe2x80x9cnominal MPCxe2x80x9d and xe2x80x9crobust MPCxe2x80x9dxe2x80x94that depend upon the assumptions made about the process model. Nominal MPC assumes a perfect model, while robust MPC accounts for model uncertainty.
At the bottom of the MPC hierarchy is digital control system (xe2x80x9cDCSxe2x80x9d) represented by blocks 52 in FIG. 1. DCS represents the basic, dynamic level of system control, and thus is carried out most frequently of all levels of the hierarchy, for example, every second (or perhaps more often, depending upon the particular application).
Although the issue of model uncertainty in the dynamic optimization has received much attention by researchers, little attention has been paid to how model uncertainty affects the steady-state target calculation.
Accordingly, the present invention relates to a new formulation of the steady-state target calculation that explicitly accounts for model uncertainty. In accordance with one aspect of the present invention, when model uncertainty is incorporated, the linear program associated with the steady-state target calculation can be recast as a highly structured nonlinear program. In accordance with another aspect of the invention, primal-dual interior point methods can be applied to take advantage of the resulting special structure. For a system having characteristic gain parameters G having a known uncertainty description, the present invention provides a method and apparatus for selecting steady-state targets for said system-manipulated variables such that all system-controlled variables will remain feasible at steady-state for all possible values of the parameters G within the known uncertainty description. A nominal estimate {tilde over (G)} of the system parameters G is made, and in accordance with another aspect of the invention, the steady-state targets are selected such that when {tilde over (G)} approaches G, the computed steady-state targets approach the operational steady-state targets that either minimize or maximize the control objective for the true system G, subject to the known uncertainty description. If {tilde over (G)} equals G, the computed steady-state targets minimize or maximize the control objective for the true system G, subject to the known model uncertainty. (As used herein, the term xe2x80x9cextremizexe2x80x9d will be used to refer to the mathematical objective of either minimizing or maximizing a particular function, as the case may be.)